Content providing server, information processing device and method, and computer program

ABSTRACT

An apparatus and a method are proposed which enable an improved control processing for live streaming distribution of tuner received content from a server to a client. By setting a URL to a channel list as a set of channels, and transmitting a content acquisition request from the client to the server, wherein the channel list URL is designated, to a server, the client can collectively obtain rights to control all content on the channels listed in the channel list. By continuously using an HTTP connection set on the basis of a channel list, the client can switch channels.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a national phase application based onPCT/JP2004/004916, filed Apr. 5, 2004, the content of which isincorporated herein by reference, and claims the right to priority basedon Japanese Application No. 2003-103716, filed Apr. 8, 2003, the contentof which is incorporated herein by reference.

1. Technical Field

The present invention relates to a content prividing server, aninformation processing apparatus and method, and a computer program.Particularly, the invention relates to a content providing server, aninformation processing apparatus an method, and a computer program,which are applied to processing of distributing and reproducingstreaming data executed in a server/client system.

2. Background Art

As data communication networking prevails, so-called home networking,which enables home appliances, computers, and other peripherals to benetworked together to implement communication therebetween even at home,is becoming prevalent. Home networking intends to allow networkedequipment to share their data processing functions through communicationbetween themselves. It intends to provide users with convenience/comfortin operation, such as content transmission/reception between thenetworked equipment, and it is predicted to become more and moreprevalent in the future.

As a protocol suitable for such a home networking configuration, UPnP(registered trademark) is known. UPnP can construct a network easilywithout involving complicated operation, and is thus intended such thatnetworked equipment can receive services provided by other networkedequipment without involving difficult operation and setting. Further,UPnP has an advantage that it is not dependent on an OS (OperatingSystem) on a device so that it can implement easy addition of equipment.

UPnP exchanges definition files compliant with XML (eXtensible MarkupLanguage) between the networked equipment to perform mutual recognitionbetween the equipment. An outline of UPnP-based processing is asfollows.

(1) An addressing process of acquiring its own device ID such as an IPaddress.

(2) A discovery process of searching devices on the network, receiving aresponse from each of the devices, and acquiring information, such asdevice type, function, contained in the response.

(3) A service requesting process of requesting a service to each of thedevices on the basis of the information acquired in the discoveryprocess.

By performing the above-mentioned processing procedure, the provisionand reception of services to which the networked equipment is appliedcan be implemented. Equipment to be newly networked acquires a device IDthrough the above-mentioned addressing process, and acquires informationabout the other networked devices through the discovery process, wherebyit can request services to the other equipment on the basis of theacquired information.

For example, where content such as music data, image data stored on aserver is to be reproduced by a client-side device, the client acquiresinformation about the content held by the server. The server storesattribute information including information regarding content stored ina storage section thereof and various content to be received from theoutside via a tuner, in the storage section thereof, and provides theclient with such information. The attribute information includes variousinformation, such as information regarding, e.g., titles of, e.g., tunesor pictures as content, artist names, recording dates/times, and furtherdata compression modes. These pieces of attribute information are called“metadata” or “meta-information”.

The client can make a request to the server for acquiring variousattribute information about the content stored on the server, such as,e.g., titles of tunes or pictures, artist names, and further datacompression mode information (ATRAC (adaptive transform acousticcoding), MPEG (moving picture experts group), and the like), and furthercopyright information, as necessary.

The server transmits the metadata (attribute information) about thecontent it holds, to the client according to the request from theclient. The client displays content information on a display of itsdevice according to a predetermined display program on the basis of themetadata acquired from the server. For example, a music program listcontaining artist names, titles, and the like is displayed on thedisplay. A user checks or selects content for reproduction on the basisof the displayed information, and transmits a request for transmittingthe content, to the server. The server receives the content request fromthe client, transmits the content to the client according to thereceived request, and the received content is reproduced on the clientside.

In this way, content stored on the server can be reproduced when otherequipment (clients) networked to the server search through the content,and designate specific content.

Further, a server configuration having a so-called live streaming datadistribution configuration has been proposed, in which a server thatprovides content is additionally equipped with a tuner function totransmit video or audio data received via the tuner to a client. Theconfiguration is such that, e.g., various types of broadcast data, suchas by terrestrial broadcasting, satellite broadcasting, is received by atuner within a home server, and the received data is transmitted fromthe server to a client, e.g., a PC having no tuner, whereby a user viewsor listens to various programs, such as TV programs, radio programs, viaa display, speakers provided with the PC.

A system, in which a client remotely controls a server to receivetelevision data with a tuner within the server, and reproduces thereceived television data via a local area network on the client side, isdisclosed in, e.g., Patent Document 1 (Japanese Patent ApplicationPublication No. 2002-84484).

However, the configuration disclosed in Patent Document 1 is to storedata received by the tuner within the server in a storage means withinthe server, e.g., a HDD, and provides this stored data to the client.Thus, this system realizes so-called virtual live streaming in which aprocess similar to the providing of content stored on a server to aclient is executed on tuner-received data.

A process to be performed where a client acquires specific content froma server involves the client transmitting a content identifier to theserver, and the server acquiring and then transmitting the designatedcontent on the basis of the identifier received from the client.

For example, the server holds content URLs (Uniform Resource Locators)associated with content as content-corresponding metadata, and theclient generates a GET method supported by HTTP (HyperText TransferProtocol) wherein a content URL is designated, for transmission to theserver, whereby the server can transmit the content specified on thebasis of the received URL, to the client.

Assuming a configuration in which data received via the tuner istransmitted to the client from the server on the basis of URLdesignation similar to what has been mentioned above, the server mustset many URLs corresponding to data on many channels to be received viathe tuner, and the client must transmit a content request wherein a URLcorresponding to each of the channels is designated, to the server.

However, such a channel-based URL setting configuration requires thatthe client wishing to switch channels transmit anew an HTTP-GET methodwherein a URL corresponding to a channel to be tuned to after theswitching is set, to the server. Therefore, between the server and theclient, a connection based on a URL set before the switching isinvalidated, and then a connection based on a new URL is set anew, toperform distribution of streaming data from the channel tuned to afterthe switching on the basis of the connection set anew after theswitching.

In this way, in the case of the channel-based URL setting configuration,the client must perform setting of a connection between the server andthe client every time channels are to be switched, thus giving overloadto both. Further, communication is interrupted-every time channels areswitched, and thus there is a problem that a smooth processingenvironment such as channel switching using a typical television remotecontroller cannot be obtained.

Furthermore, in an environment in which a plurality of clients arereceiving the same program from a single server for viewing by aplurality of users, there occurs another problem that the program isinterrupted every time any of the users switches channels.

DISCLOSURE OF THE INVENTION

The present invention has been made in view of the above-mentionedproblems, and has an object to provide a content providing server, aninformation processing apparatus and method, and a computer programwhich enable a client to smoothly and efficiently execute control over aserver, whereby, e.g., even where streaming data received via a tuner ofthe server is provided to the client and the client executes controlsuch as channel switching, distribution of the streaming data can beexecuted continuously without interrupting communication, between theserver and the client.

A first aspect of the present invention is

a content providing server that executes a content transmission processto a client, characterized by having:

a tuner that executes a data reception process;

a data transmission/reception section that executes a communicationprocess between the server and the client for received content by theabove-mentioned tuner and control information;

a storage section having attribute information corresponding to contentas content information;

a content management section that executes a process of providing theabove-mentioned content information to a plurality of clients; and

a content distribution control section that executes live streamingdistribution control to a client of the received content via theabove-mentioned tuner,

wherein the above-mentioned storage section is configured to

store a channel list identifier as identification information about achannel list containing at least a plurality of channels of receivedchannels by the above-mentioned tuner, as content informationcorresponding to tuner-received content, and

wherein the above-mentioned content distribution control section isconfigured to set a plurality of tuner-received content corresponding tothe plurality of channels described in the above-mentioned channel listas a single unit of controlled content, to execute control over contentfor distribution corresponding to the plurality of channels described inthe above-mentioned channel list on the basis of a control requestcorresponding to the channel list identifier received from the client.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned channel list identifier ischaracterized by being a channel list URL (Uniform Resource Locator),and the above-mentioned storage section is characterized by beingconfigured to store the above-mentioned channel list URL as attributeinformation corresponding to the above-mentioned tuner-received content,and the above-mentioned content distribution control section ischaracterized by being configured to execute distribution control overthe content on the plurality of channels received by the above-mentionedtuner specified on the basis of the above-mentioned channel list URLaccording to the control request from the client.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned channel list identifier ischaracterized by being a channel list URL (Uniform Resource Locator),and a connection for distribution of the tuner-received content betweenthe server and the client is characterized by being an HTTP (HyperTextTransport Protocol) connection set on the basis of the above-mentionedchannel list URL, wherein the above-mentioned content distributioncontrol section is characterized by being configured to execute contentdistribution which continuously uses the HTTP connection set on thebasis of the above-mentioned channel list URL, before and after channelswitching executed as switching of the plurality of tuner-receivedcontent corresponding to the plurality of channels described in theabove-mentioned channel list.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content information ischaracterized by containing content-corresponding protocol information,and protocol information set so as to correspond to the received contentvia the above-mentioned tuner is characterized by containing a functionID as tuner identification information, wherein the above-mentionedcontent distribution control section is characterized by beingconfigured to execute a process of setting a control instance thatexecutes control over the tuner-received content as a control instancethat executes control over a tuner for control which is determined onthe basis of the above-mentioned function ID.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content distribution controlsection is characterized by being configured to set a control instancethat executes content distribution control over each content fordistribution, to execute content-based distribution control which isbased on the control instance, and a tuner control instance thatexecutes control over the above-mentioned tuner-received content ischaracterized by being configured to execute control over theabove-mentioned tuner on the basis of the control request from theclient.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content distribution controlsection is characterized by being configured to set a control instancethat executes content distribution control over each content fordistribution, to execute content-based distribution control which isbased on the control instance, and execute connection management whichis based on a connection management table in which an instance ID as anidentifier of the above-mentioned control instance, a connection ID as aconnection identifier between the server and the client, and protocolinformation corresponding to the content for distribution are associatedwith each other.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content distribution controlsection is characterized by being configured to set a control instancethat executes content distribution control over each content fordistribution, to execute content-based distribution control which isbased on the control instance, wherein the above-mentioned controlinstance is characterized by being configured to have an instance ID setas an identifier, and execute the content distribution control accordingto a control request from the client wherein the control instance ID isdesignated.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content distribution controlsection is characterized by being configured to receive a controlrequest for content for distribution which is compliant with a SOAP(Simple Object Access Protocol) from the client, and executedistribution control over the tuner-received content on the basis of theabove-mentioned control request.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned channel list is characterized bybeing configured to be set as a list formed from the plurality ofchannels divided according to categories.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned content distribution controlsection is characterized by being configured to execute, duringexecution of distribution control over content on the plurality ofchannels received by the above-mentioned tuner specified on the basis ofa channel list URL as the identifier of the above-mentioned channellist, distribution of the tuner-received content specified on the basisof the channel list URL, in response to an HTTP-GET method received as acontent request from another client wherein the same channel list URL isdesignated, through an HTTP connection which is based on theabove-mentioned channel list URL.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned channel list identifier ischaracterized by being a channel URL (Uniform Resource Locator), and aconnection for distribution of the tuner-received content between theserver and the client is characterized by being an HTTP (HyperTextTransfer Protocol) connection set on the basis of the above-mentionedchannel list URL, wherein the above-mentioned content distributioncontrol section is characterized by being configured to determinewhether or not matching of coded data for transmission to the client canbe maintained even when the plurality of channels described in theabove-mentioned channel list has been switched, and execute breakage ofthe HTTP connection set on the basis of the above-mentioned channel listURL where it is determined that the matching cannot be maintained, andwherein the above-mentioned content providing server is characterized bybeing configured to further execute a process of notifying breakageinformation about the HTTP connection set on the basis of the channellist URL, via an event notification connection between the server andthe client.

Furthermore, in an embodiment of the content providing server of thepresent invention, the above-mentioned channel list identifier ischaracterized by being a channel list URL (Uniform Resource Locator),and a connection for distribution of the tuner-received content betweenthe server and the client is characterized by being an HTTP (HyperTextTransport Protocol) connection set on the basis of the above-mentionedchannel list URL, wherein the above-mentioned content distributioncontrol section is characterized by being configured to executeswitching of a plurality of channels described in the above-mentionedchannel list by tuner control at a timing when matching of coded datafor transmission to the client can be maintained.

Furthermore, a second aspect of the present invention is

an information processing apparatus that receives received content by atuner set to a server, from the server, characterized by having:

a data transmission/reception section that executes datatransmission/reception process with respect to the server that providestuner-received content;

a control section that transmits a content transmission request which isbased on a channel list identifier which is an identifier of a listcontaining at least a plurality of channels of received channels by theabove-mentioned tuner, to the above-mentioned server, and also executesa process of transmitting distribution control request fortuner-received content wherein a control instance that executes contentdistribution control is designated in the above-mentioned server.

Furthermore, in an embodiment of the information processing apparatus ofthe present invention, the above-mentioned control section ischaracterized by being configured to transmit a connection preparationrequest wherein a function ID as tuner identification information whichis a piece of protocol information contained in content informationreceived from the above-mentioned server is stored, to theabove-mentioned server, and acquire an ID of a control instance thatexecutes control over the tuner-received content, received from theabove-mentioned server, to execute a process of transmitting thedistribution control request for the tuner-received content wherein theabove-mentioned control instance ID is designated, as a response to theabove-mentioned connection preparation request.

Furthermore, in an embodiment of the information processing apparatus ofthe present invention, the above-mentioned channel list identifier ischaracterized by being a channel list URL (Uniform Resource Locator),and a connection for distribution of tuner-received content between theserver and the client is characterized by being an HTTP (HyperTextTransport Protocol), connection set on the basis of the above-mentionedchannel list URL, wherein the above-mentioned control section ischaracterized by being configured to execute content reception beforeand after switching of the plurality of channels described in theabove-mentioned channel list by continuously using the HTTP connectionset on the basis of the above-mentioned channel list URL.

Furthermore, a third aspect of the present invention is

a content transmission control method for transmitting received contentby a tuner set to a content providing server, to a client, characterizedby having:

a control instance setting step of setting a control instance whereintuner-received content corresponding to a plurality of channelsdescribed in a channel list containing at least the plurality ofchannels of received channels by the above-mentioned tuner is set, as aunit of content for control;

a control request reception step of receiving a control request to theabove-mentioned control instance from the client; and

a control step of executing tuner control by the above-mentioned controlinstance on the basis of the above-mentioned control request.

Furthermore, in an embodiment of the content transmission control methodof the present invention, a channel list identifier is characterized bybeing a channel list URL (Uniform Resource Locator), wherein theabove-mentioned control instance setting step is characterized byincluding a step of associating the above-mentioned channel list URLwith the control instance. Furthermore, in an embodiment of the contenttransmission control method of the present invention, theabove-mentioned channel list identifier is characterized by being achannel list URL (Uniform Resource Locator), and a connection fordistribution of tuner-received content between the server and the clientis characterized by being an HTTP (HyperText Transfer Protocol)connection set on the basis of the above-mentioned channel list URL,wherein the above-mentioned control step is characterized by executingcontent distribution which continuously uses the HTTP connection set onthe basis of the above-mentioned channel list URL, before and afterchannel switching executed as switching of the plurality oftuner-received content corresponding to the plurality of channelsdescribed in the above-mentioned channel list.

Furthermore, in an embodiment of the content transmission control methodof the present invention, a content information is characterized bycontaining protocol information corresponding to content, and theprotocol information set so as to correspond to the received content viathe above-mentioned tuner is characterized by containing a function IDas tuner identification information, wherein the above-mentioned controlinstance setting step is characterized by executing a process of settinga control instance that executes control over the tuner-received contentas a control instance that executes control over a tuner for controlwhich is determined on the basis of the above-mentioned function ID.

Furthermore, in an embodiment of the content transmission control methodof the present invention, the above-mentioned content transmissioncontrol method is characterized by further including a step of executingconnection management which is based on a connection management table inwhich an instance ID which is an identifier of the above-mentionedcontrol instance, a connection ID which is a connection identifierbetween the server and the client, and protocol informationcorresponding to content for distribution are associated with eachother.

Furthermore, in an embodiment of the content transmission control methodof the present invention, the above-mentioned control request receptionstep is characterized as being a step of receiving a control request forcontent for distribution compliant with a SOAP (Simple Object AccessProtocol), from the client.

Furthermore, in an embodiment of the content transmission control methodof the present invention, the above-mentioned content transmissioncontrol method is characterized by further including a step ofexecuting, during execution of distribution control over content on theplurality of channels received by the above-mentioned tuner specified onthe basis of a channel list URL as a channel list identifier,distribution of the tuner-received content specified on the basis of thechannel list URL, in response to an HTTP-GET method received as acontent request from another client wherein the same channel list URL isdesignated, through an HTTP connection which is based on theabove-mentioned channel list URL.

Furthermore, in an embodiment of the content transmission control methodof the present invention, a channel list identifier is characterized bybeing a channel list URL (Uniform Resource Locator), and a connectionfor distribution for tuner-received content is characterized by being anHTTP (HyperText Transfer Protocol) connection set on the basis of theabove-mentioned channel list URL, wherein the above-mentioned contenttransmission control method is characterized by further including:

a step of determining whether or not matching of coded data fortransmission to the client can be maintained even when the plurality ofchannels described in the above-mentioned channel list has beenswitched, and executing breakage of the HTTP connection set on the basisof the above-mentioned channel list URL where it is determined that thematching cannot be maintained; and

a step of executing a process of notifying breakage information aboutthe HTTP connection set on the basis of the channel list URL, via anevent notification connection between the server and the client.

Furthermore, in an embodiment of the content transmission control methodof the present invention, a channel list identifier is characterized bybeing a channel list URL (Uniform Resource Locator), and a connectionfor distribution of the tuner-received content is characterized by beingan HTTP (HyperText Transfer Protocol) connection set on the basis of theabove-mentioned channel list URL, wherein the above-mentioned controlstep is characterized by further including a step of executing switchingof the plurality of channels described in the above-mentioned channellist by tuner control at a timing when matching of coded data fortransmission to the client can be maintained.

Furthermore, a fourth aspect of the present invention is

an information processing method for receiving received content by atuner set to a server, from the server, characterized by having:

a content transmission requesting step of transmitting a contenttransmission request which is based on a channel list identifier, whichis an identifier of a list containing at least a plurality of channelsof received channels by the above-mentioned tuner; and

a control requesting step of executing a process of transmitting adistribution control request for tuner-received content wherein acontrol instance that executes control over content distribution in theabove-mentioned server, is designated.

Furthermore, in an embodiment of the information processing method ofthe present invention, the above-mentioned content transmission requeststep is characterized by including a step of transmitting a connectionpreparation request wherein a function ID as tuner identificationinformation which is a piece of protocol information contained incontent information received from the above-mentioned server, is stored,to the above-mentioned server, wherein the above-mentioned controlrequest step is characterized by including a step of executing a processof transmitting a distribution control request for tuner-receivedcontent wherein an ID of a control instance that executes control overtuner-received content received from the above-mentioned server isdesignated, as a response to the above-mentioned connection preparationrequest.

Furthermore, in an embodiment of the information processing method ofthe present invention, the above-mentioned channel list identifier ischaracterized by being a channel list URL (Uniform Resource Locator),and a connection for distribution of tuner-received content ischaracterized by being an HTTP (HyperText Transfer Protocol) connectionset on the basis of the above-mentioned channel list URL, wherein theabove-mentioned information processing method is characterized byexecuting content reception before and after channel switching executedas switching of a plurality of channels described in the above-mentionedchannel list, continuously using the HTTP connection set on the basis ofthe above-mentioned channel list URL.

Furthermore, a fifth aspect of the present invention is

a computer program that executes a content transmission control processfor transmitting received content by a tuner set to a content providingserver, to a client, characterized by having:

a control instance setting step of setting a control instance whereintuner-received content corresponding to a plurality of channelsdescribed in a channel list containing at least the plurality ofchannels of received channels by the above-mentioned tuner, as a unit ofcontent for control;

a control request receiving step of receiving a control request to theabove-mentioned control instance from a client; and

a control step of executing tuner control by the above-mentioned controlinstance on the basis of the above-mentioned control request.

Furthermore, a sixth aspect of the present invention is

a computer program that executes an information processing process forreceiving received content by a tuner set to a server, from the server,characterized by having:

a content transmission requesting step of transmitting a contenttransmission request which is based on a channel list identifier, whichis an identifier of a list containing at least a plurality of channelsof received channels by the above-mentioned tuner; and

a control requesting step of executing a process of transmitting adistribution control request for tuner-received content wherein acontrol instance that executes control over content distribution in theabove-mentioned server, is designated.

According to the configuration of the present invention, it isconfigured to set a URL to a channel list as a set of channels, and thusa client transmits a content acquisition request wherein the channellist URL is designated, to a server, the client can collectively obtainrights to control all content on the channels listed in the channellist, i.e., channel items set below a tuner container in a contentmanagement directory. As a result, when channels listed in the channellist are to be switched, there is no need to make a content requestwhich is based on a new URL.

Further, in the configuration of the present invention, contentdistribution which continuously uses an HTTP connection set on the basisof a channel list can be executed before and after channel switchingexecuted as switching of a plurality of tuner-received contentcorresponding to a plurality of channels described in the channel list.Therefore, the client can switch channels only by transmitting a controlinstruction, such as a channel switching instruction, to the contentdistribution control section. Consequently, processing, such asre-setting of the connection between the server and the client which isbased on switching of new/old URLs, is no longer required. That is, whenchannels in the channel list are to be switched, content can be receivedbefore and after the channel switching, while continuously using theHTTP connection as a content distribution connection, only by performinga channel switching request (AVT Seek action) to an AVT instance.

Furthermore, in the configuration of the present invention, where anHTTP-GET method as a content request from another client wherein thesame channel list URL is designated is received during execution ofdistribution control over content of a plurality of channels received bya tuner specified on the basis of a channel list URL as an identifier ofa channel list under the control of an AVT instance, that requestingclient can execute distribution of tuner-received content specified onthe basis of the channel list URL, through an HTTP connection which isbased on the channel list URL, without setting an AVT instance.

Note that the computer program of the present invention is a computerprogram that can be provided by a storage medium, a communicationmedium, e.g., a storage medium such as a CD or a FD, a MO, or acommunication medium such as a network, provided in a computer-readableform to, e.g., a general-purpose computer system that can executevarious program codes. By providing such a program in acomputer-readable form, processing according to the program is realizedon the computer system.

Other objects, features, and advantages of the present invention willbecome apparent from a more detailed description that is based on alater-described embodiment thereof and accompanying drawings. Note thata system used in the present description means a logical setconfiguration of a plurality of apparatus, and is not limited to onewherein apparatus each having its own configuration are grouped withinthe same enclosure.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram showing an example configuration of a network towhich the present invention is applicable.

FIG. 2 is a diagram explaining an example configuration of networkedequipment.

FIG. 3 is a diagram explaining a content management directoryconfiguration in a server.

FIG. 4 is a diagram showing an example display of content information.

FIG. 5 is a diagram explaining a processing sequence between the serverand a client in a content data reproduction process.

FIG. 6 is a diagram showing a configuration of a server that executes astreaming distribution process on tuner-received data.

FIG. 7 is a diagram explaining a tuner container and channel items inthe content management directory configuration in the server.

FIG. 8 is a diagram explaining content information corresponding to thetuner container and a channel item.

FIG. 9 is a diagram explaining a processing sequence between the serverand a client that execute the streaming distribution process ontuner-received data.

FIG. 10 is a diagram explaining configuration data of a connectionmanagement table held by the server that executes the streamingdistribution process on tuner-received data.

FIG. 11 is a diagram explaining a channel switching process in theprocessing sequence between the server and the client that execute thestreaming distribution process on tuner-received data.

FIG. 12 is a diagram explaining a connection completion process in theprocessing sequence between the server and the client that execute thestreaming distribution process on tuner-received data.

FIG. 13 is a diagram explaining a streaming distribution process ontuner-received data by a server having a plurality of tuners.

FIG. 14 is a diagram explaining an example correspondence between atuner container and channel list URLs.

FIG. 15 is a diagram explaining an example correspondence between tunercontainers and channel list URLs.

FIG. 16 is a diagram explaining an example correspondence between tunercontainers and channel list URLs.

FIG. 17 is a flowchart explaining a process of the server that executesthe streaming distribution process on tuner-received data.

FIG. 18 is a flowchart explaining a process of the client that executesthe streaming distribution process on tuner-received data.

FIG. 19 is a block diagram explaining processing functions of theserver.

FIG. 20 is a block diagram explaining processing functions of theclient.

BEST MODES FOR CARRYING OUT THE INVENTION

Details of a content providing server, an information processingapparatus and method, and a computer program of the present inventionwill hereinafter be described with reference to the drawings.

[Outline of the System]

Referring first to FIG. 1, an example configuration of a network towhich the present invention is applicable will be described. FIG. 1shows a configuration, e.g., a home networking configuration, in which aserver 101 as a content distribution apparatus that executes processingaccording to processing requests from various client apparatus, andclients as content reception apparatus that make the processing requeststo the server 101 are connected via a network 100. As the clientapparatus, a personal computer (PC) 121, a monitor 122, a portabletelephone 123, a player 124, a PDA (Personal Digital Assistant) 125 areshown as examples. However, other electronic equipment, home appliancesare also connectable as the client apparatus.

The processing executed by the server 101 according to requests from theclients includes, e.g., providing content stored in a storage means suchas a hard disk held by the server 101, or content distribution servicesfor forwarding live content received via a tuner held by the server 101,to the clients. While the server 101 is shown as being distinguishedfrom the client apparatus in FIG. 1, this is to show equipment thatprovides services in response to requests from the clients as a server.Thus, any of the client apparatus can provide a function as a serverwhen providing its own data processing service to other clients.Therefore, the networked client apparatus shown in FIG. 1 can also serveas servers.

The network 100 is any of networks, such as wired, wireless, and othertypes of networks, and each of the networked equipment,transmits/receives communication packets, such as, e.g., Ethernet(trademark) frames, via the network 100. That is, a client transmits aframe wherein processing request information is stored in a data sectionof an Ethernet frame, to the server 101, whereby to execute dataprocessing request to the server 101. The server 101 executes a dataprocess in response to the processing request frame received, and storesresultant data resulting from the data process into a data section of acommunication packet for transmission to each of the clients, asnecessary.

The networked equipment include, e.g., Universal Plug and Play(UPnP)-compliant equipment. Therefore, this is a configuration in whichequipment can be easily added to or deleted from the network. Equipmentto be newly connected to the network performs:

(1) An addressing process for acquiring its own device ID such as an IPaddress.

(2) A discovery process for searching through devices on the network,receiving a response from each of the devices, and acquiring informationsuch as device type, function, and the like contained in the response.

(3) A service requesting process for requesting a service to each of thedevices on the basis of the information acquired in the discoveryprocess.

By performing the above-mentioned processing procedure, services towhich the networked equipment are applied can be received.

Referring to FIG. 2, an example hardware configuration of a PC will bedescribed as examples of information processing apparatus constitutingthe server and the client apparatus shown in FIG. 1.

A CPU (Central Processing unit) 201 executes various processingaccording to programs stored in a ROM (Read Only memory) 202, or a HDD(Hard Disk Drive) 204, and the like, and functions as a data processingmeans or a communication control processing means. A RAM (Random Accessmemory) 203 stores programs executed by the CPU 201 and data, asappropriate. The CPU 201, ROM 202, and RAM 203, HDD 204 are connectedwith each other via a bus 205.

An input/output interface 206 is connected to the bus 205. To thisinput/output interface 206, there are connected an input section 207that includes, e.g., a keyboard, switches, buttons, a pointing device,or a mouse operated by a user, and an output section 208 that includes aLCD, a CRT, speakers, and the like that presents various information tothe user. Further, connected thereto are a communications section 209functioning as a data transmission/reception means, and furthermore, adrive 210 that allows a removable recording medium 211 such as amagnetic disk, an optical disk, a magneto-optical disk, or asemiconductor memory to be releasably attached thereto, to execute adata reading or writing process from and to these removable recordingmedia 211.

Furthermore, a tuner 220 is also provided which receives variousdistributed data from the outside, such as terrestrial broadcast data,satellite broadcast data, cable TV data, and Internet-distributed data.

While the configuration shown in FIG. 2 is of the server, the personalcomputer (PC) as examples of the networked equipment shown in FIG. 1,the networked equipment are not limited to the PC, but may include, asshown in FIG. 1, a portable communication terminal such as the portabletelephone, the PDA, and various electronic equipment, informationprocessing apparatus, such as the player, a display. Therefore, varioushardware configurations unique to respective networked equipment can beimplemented, under which processing according to the hardware involvedis executed.

[Object Management and Metadata]

Next, an object management configuration including content in theserver, which manages content provided to the clients, and metadata willbe described. The server holds content including image data such asstill pictures, moving pictures, audio data such as music which arestored in its storage section, and further, information regarding atuner for executing live streaming data, e.g., channel information asattribute information (metadata) corresponding to the respectivecontent.

Note that the content including image data such as still pictures,moving pictures, audio data such as music held by the server, and livestreaming data received via the tuner will be collectively called “AVcontent”. In the server, AV content is managed by a content managementdirectory that has a hierarchical configuration in a CDS (ContentDirectory Service) within the server.

An example configuration of the content management directory managed inthe CDS (Content Directory Service) of the server is shown in FIG. 3.The hierarchical configuration can be represented as being a branchedtree-shaped diagram as shown in FIG. 3. Each of circles shown in FIG. 3is an individual object. This hierarchical configuration shows a logicalmanagement configuration corresponding to content stored in the storagesection and managed by the server, and to live streaming content.

Each of elements of the content management directory, i.e., anindividual folder in which individual AV content or a plurality of AVcontent are stored, a metadata-stored folder is called an “Object”. Notethat an object is a general term given to a data unit processed by theserver, and that there are various objects other than the folders eachhaving individual AV content or a plurality of AV content, themetadata-stored folders.

A minimum unit of AV content, i.e., single tune data, single movingpicture data, single still picture data, or the like is called an“item”. In a case of live streaming data, a single channel is defined asa single item.

Further, a generic object above items which is defined as a set of itemsis called a “Container”. A unit of the set of items can be set invarious forms, such as a set based on a physical storage location ofeach of objects, a set based on a logical relationship between objects,a set based on a category.

For example, example containers each having channels as its itemsinclude a container formed from a set of only terrestrial channels asits items, and a container formed from a set of satellite broadcastchannels as its items. These examples will be described further in alatter part.

Objects are classified into classes according to their types, such as,e.g., music (Audio), video (Video), photos (Photo), and thenclass-labeled. A client can designate, e.g., a specific class, and makea request for “searching” only objects belonging to that specific classfor execution of the “searching”. Further, the client can designate anobject such as a specific folder, and make a request for “browsing” onlyinformation regarding that folder to perform a process of acquiringinformation regarding the specific folder. Note that in the server,classes are also managed in the form of a hierarchical configuration,and that subclasses can thus be set under a single class.

Metadata is various management information including attributeinformation corresponding to content held by the server, definitioninformation about the classes, information regarding the hierarchicalconfiguration from which the content management directory is formed.Metadata as attribute information about content defined in associationwith individual objects includes various information such as, e.g., acontent identifier (ID) such as a content URL, a data size, resourceinformation, a title, an artist name, copyright information, channelinformation. Each piece of information contained in the metadata iscalled a “property” or “property information”. Note that which class hasmetadata formed from what property is defined beforehand for each of theabove-mentioned classes, such as music (Audio), video (Video), photos(Photo), live streaming data, and the like.

In FIG. 3, the highest level is called a root container 301. Below theroot container are, e.g., a music container 302, a moving picturecontainer 303, a still picture container 304, and further, a tunercontainer 305, and the like. Objects are set such that, e.g., a genre306 is set below the music container 302 and an artist 307 is set belowthe genre.

A genre 308 is set below the moving picture container 303, and a videocapsule 309 as an item corresponding to content is set below that. Forexample, the video capsule 309 corresponds to video content stored inthe storage section such as the hard disk within the server, and hasattribute information (metadata) corresponding to that video content.The metadata contains a content identifier for acquiring the content,i.e., a URL (Uniform Resource Locator) of the content as addressinformation indicative of the location of the content. The clientacquires the URL of the video capsule 309, i.e., a video capsule URLthrough a content information acquisition procedure, and transmits acontent request wherein the video capsule URL is designated, to theserver, whereby the video content corresponding to the video capsule canbe received from the server for reproduction.

Meanwhile, to the tuner container 305, there is also set a channel listURL as a URL corresponding to the container. That is, the channel listURL is set as attribute information corresponding to tuner-receivedcontent. The channel list URL is a URL set to provide the client withrights to acquire, control all content corresponding to channel itemspresent as children of the tuner container 306.

In the conventional system, a URL is set for each channel, which is anitem, and the client has been required to switch URLs when switchingchannels. However, in the present invention, a URL is set to a channellist as a set of channels, and the client transmits a contentacquisition request wherein a channel list URL is designated, to theserver, whereby the client can collectively obtain rights to acquire allcontent on channels listed in the channel list, i.e., rights to controlall content of channel items set below the tuner container inhierarchical level in the content management directory. As a result, asto switching between channels listed in the channel list, there is noneed to make a content request which is based on a new URL. Details ofthese processes will be described later.

A client wishing to execute content searching requests the server for“searching” wherein a hierarchical level or a class corresponding to aset of objects in the content management directory is designated, or for“browsing” as designation of a specific object, whereby the client canacquire content information. The client displays the content informationon the display on the basis of XML data wherein the content informationto be received from the server is described.

An example process of displaying a content information list is shown inFIG. 4. In the example shown in FIG. 4, a content information list 357,which has a data configuration in which information is listed under acontent No., a title, an artist name, a channel, a content URL, isdisplayed on a display 350.

Content information displayed on the basis of metadata corresponding to,e.g., video capsules represents content having content Nos. [0001],[0002]. Content information displayed on the basis of metadatacorresponding to tuner containers represents channel lists, and channelinformation and channel list URLs contained in the channel list, as in[0003], [0004].

These pieces of content information are generated on the basis ofproperty information as elements of content-corresponding metadatamanaged by the server. The server acquires property information in themetadata about content which coincides with a condition, on the basis ofa “searching” or “browsing” request received from the client, andgenerates XML data on the basis of the acquired property information,for transmission to the client.

The client receives the XML data which is based on the propertyinformation extracted by the server and corresponding to the content,and generates display data such as shown in FIG. 4 on the basis of thereceived XML data, for display on the display of the client.

A user on the client side selects content for reproduction from theseitems in the list, and transmits selected content designationinformation, e.g., a content URL to the server, whereby content, i.e.,various content such as music and pictures, or photos is transmittedfrom the server, and the reproduction, output is executed on the clientside. When a content request which is based on a channel list URLcorresponding to a tuner container is made, content corresponding tochannels listed in the channel list can be acquired collectively; i.e.,channel switching can be executed freely without performing URLswitching.

As mentioned above, content information transmitted to the clientcontains URLs (Uniform Resource Locators) of content as addressinformation indicative of the locations of the content. On conditionthat a user has designated (clicked) a content URL or link datadisplayed on the client display, the client device generates an HTTP(HyperText Transfer Protocol) GET method, which is a content acquisitionrequest, for transmission to the server, and the server transmitscontent corresponding to the content URL to the client.

[Content Reproduction Process by Client]

A client wishing to reproduce content can make a content request to theserver, and receive the requested content from the server forreproduction of the content. Referring to FIG. 5, a typical contentreproduction procedure will be described. First, in step S11, the clientmakes an acquisition request for content information held by the server.In step S12, the server generates the content information such as a listof content URLs (Uniform Resource Locators) as address informationindicative of the locations of content, titles, artist names of thecontent on the basis of metadata corresponding to the content by XML(eXtended Markup Language) data according to the request from theclient, for transmission to the client.

In step S13, the client displays the content information on the displayaccording to the received XML information. For example, in a case ofmusic content, the content information is displayed as a list formedfrom titles, artist names, reproduction times, and the likecorresponding to a plurality of tunes held by the server.

Next, in step S14, the client selects a tune to be received from theserver for reproduction in the client device, and designates a contentURL as content designation information, for transmission to the server.In step S15, the server acquires content from the storage means on thebasis of the received content designation information, for transmission.In step S16, the client reproduces the content received from the server.Note that where the content has been subjected to a compression processsuch as an ATRAC, MPEG process, a decoding process is performed on theserver or the client side, after which a transmission process or areproduction process is performed.

The typical content reproduction procedure is as mentioned above. Theclient can acquire various content attribute information, i.e., propertyinformation contained in metadata corresponding to content held by theserver, display a UI such as a content list to the client on the basisof the property information, and select content, for requesting to theserver.

[Live Streaming Data Distribution Process]

Content pre-stored on the hard disk or the like of a server can beacquired and reproduced when a client transmits a content requestwherein a URL corresponding to the content is designated, to the server,as mentioned above.

However, as described above in the Related Art section, under theconfiguration in which URLs are set respectively to data on channels forlive streaming data to be received via a tuner within a server toprovide content on the basis of URL designation, an HTTP-GET methodwherein a URL corresponding to a channel to be tuned to after channelswitching is set must be transmitted when the client switches channels.As a result, connection breakage and re-connection processing which isbased on new/old URLs must be performed between the server and theclient, thus giving overload to both. From this arises a problem thatcommunication is interrupted every time channels are switched.

To overcome this problem, in the present invention, it is configured toset a channel list, which is a set of a plurality of channels, and alsoset a single content URL to the channel list, while assuming that thechannel list were single content, for management. A live streaming datadistribution processing configuration which is based on the presentconfiguration will be described below.

FIG. 6 shows an example configuration of a server having a tuner andhaving a configuration in which data received by the tuner isdistributed to clients.

The configuration shown in FIG. 6 will be described. A server 400transmits requested content from a client 460 to the client 460, and auser 470 views the content via a display, speakers, and the likeprovided with a client 460 device. Note that in FIG. 6, there is shownonly one client 460, but there are multiple clients connected to theserver 400, whereby the multiple clients can have various contentprovided from the server 400.

The server provides content stored on a database 443, and furthertransmits data received from the outside via a tuner 410, i.e., variousexternally received data, such as, e.g., terrestrial broadcast data,satellite broadcast data, cable TV data, Internet-distributed data, tothe client 460. A communication network between the server 400 and theclient 460 is any of networks, which are, e.g., wired, wireless, andother types of networks as described with reference to FIG. 1 above, andcommunication packets such as, e.g., Ethernet (trademark) frames aretransmitted/received via the network. That is, the client 460 transmitsa frame wherein processing request information is stored in a datasection of an Ethernet frame, to the server 400, whereby to execute adata processing request to the server 400. The server 400 executes adata process in response to the processing request frame received,stores resultant data resulting from the data process into the datasection of a communication packet, for transmission to each of theclients 460.

The configuration of the server 400 will be described below. The tuner410 is a streaming data reception section that receives various receiveddata from the outside, such as terrestrial broadcast data, satellitebroadcast data, cable TV data, Internet-distributed data. The tuner 410is controlled by AVT instances (AV-Transport Instances) 433 as controlinstances that are set to a content-handling control section 432 withina content distribution control section 430 and that execute contentdistribution control per content for distribution. Note that in thepresent description, the term “control instance” means a control programcapable of setting a controlled object such as hardware for control, andof setting control parameters which are in accordance with the setobject. Control over the controlled object including hardware forcontrol is executed according to the above-mentioned control program.

The content-handling control section 432 sets AVT instances(AV-Transport Instances) #1-#n 433 serving as content distributioncontrol execution sections for respective content for distribution. AnAVT instance 433 executes distribution control for each specificcontent. For example, a tuner control instance for live streaming ofdata received via the tuner executes control over only live streamingcontent of the data received via the tuner. Specifically, it receives aninstruction, such as content transmission start/end or channelswitching, from the client 460, and executes control such as channelswitching on the tuner 410.

The AVT instances 433 set to the content-handling control section 432include, besides tuner control instances, e.g., video capsule controlinstances that execute distribution control over video capsules whichare video content stored on the hard disk within the server, DVD controlinstances that execute distribution control over video data, audio data,and the like stored on a DVD inserted into the server. Each of these AVTinstances executes control over specific content for distribution.

A URL corresponding to content for control, i.e., a content URL as acontent identifier is set to each of the AVT instances. The content URLis a content identifier indicative of the location of content. A videocapsule URL set to a video capsule is set to a video capsule controlinstance. In the configuration of the present invention, a channel listURL corresponding to a tuner is set to a tuner control instance. An AVTinstance 433 is correlated to content that it controls on the basis of aURL set to itself. Further, an AVT instance having a URL already setthereto means that it is given an AVT instance ID as its identifier.Details of these processes will be described later.

The content distribution control section 430 sets a plurality oftuner-received content corresponding to a plurality of channelsdescribed in a channel list as a single unit of controlled content, andassigns a single AVT instance thereto. An AVT instance receives acontrol request corresponding to a channel list identifier received froma client; and the AVT instance executes control over content fordistribution corresponding to the plurality of channels described in thechannel list.

A connection manager service (CMS) 431 conveys protocol informationinputted to the live streaming control section 430, to the client 460.Further, it assigns an AVT instance 433 on the basis of protocolinformation presented thereto by the client 460, for notification to theclient 460.

The connection manager service 431 executes a process of assigning(allocating) an AVT instance, according to a content request from theclient 460, and notifies the client 460 of the identifier of theassigned AVT instance, i.e., an AVT instance ID. At this time, aconnection ID as a connection identifier between the server and theclient is also notified to the client 460. The connection managerservice 431 registers these data in a connection management table. Theconnection management table will be described later.

After the above-mentioned process by the connection manager service 431,through a request for the AVT instance 433 from the client 460, theabove-mentioned content URL and AVT instance ID are set to the AVTinstance 433.

As a result of the AVT instance 433 assignment process by the connectionmanager service 431 and the URL selling process by the client 460, thecontent-corresponding URL has been set, and when the AVT instance 433now in charge of distribution control over content identified by the URLreceives a control command from the client 460, it executes contentcontrol according to the control command. In this content distributioncontrol process between the client 460 and the server, e.g., a SOAP(Simple Object Access Protocol), is used. The client 460 generatesdescription data compliant with XML data for transmission to the AVTinstances 433, whereby control information from the client 460 isnotified to the respective AVT instance 433, and then the AVT instance433 executes control which is based on the received information, e.g.,processing such as content reproduction start/end, channel switching.

For example, when channel switching instruction information is inputtedas control information from the client 460 to a tuner control instance433, the control information is inputted to the tuner 410 from the tunercontrol instance 433 to set such that the tuner 410 receives specificchannel data.

Note that a connection for distribution of tuner-received contentbetween the server and the client is an HTTP (HyperText TransferProtocol) connection set on the basis of a channel list URL. In theconfiguration of the present invention, content distribution is executedin which the HTTP connection set on the basis of the channel list URL iscontinuously used, before and after the channel switching executed asswitching of a plurality of tuner-received content corresponding to aplurality of channels described in a channel list.

Data received by the tuner 410 may be, e.g., coded data (ATRAC (adaptivetransform acoustic coding), MPEG (moving picture experts group), and thelike) in one case, and raw data in other cases. Between the server andthe client, it is preferable to distribute the data as specific codeddata in order to enhance data transmission efficiency. The coded datamust be data processable by the client 460. A codec 420 converts datareceived by the tuner 410 into a data mode processable by the client460. The codec 420 has data encoding and decoding functions. Converteddata generated at the codec 420 is transmitted to the client 460 andreproduced.

What kind of data conversion is to be made at the codec 420 isdetermined by control information from an AVT instance 433. The AVTinstance 433 receives request information from the client 460, andcontrol information from the AVT instance 433 is inputted to the codec420, and the codec 420 executes data conversion on the basis of thecontrol information.

A content management section (media server) 440 functions as a contentfolder. It has a content directory service 442 that managescontent-corresponding metadata on the basis of the database 443 storingmetadata of the content therein and the content management directorydescribed with reference to FIG. 3 above, and that provides contentinformation in response to a processing request, such as contentsearching, browsing, from the client 460.

The database 443 stores not only information about content pre-stored ona database within the server, but also management information such asinformation about data received via a tuner, e.g., channel information,as metadata corresponding to a tuner container. Where the contentdirectory service 442 receives a content information acquisition requestregarding the tuner from the client 460, the content management section440 executes, e.g., a process of providing the client 460 withinformation, such as server-receivable channel information, a channelURL associated with a channel list set as a set of a plurality ofchannels.

The content directory service 442 holds URLs for live streaming content,codec information, protocol information on the database 443 as metadatafor content handled in live streaming, and transmits these pieces ofinformation to the client 460 according to a request from the client460.

Note that the client 460 can learn whether or not the server candistribute live streaming content, through protocol information from thecontent directory service 442. Information (function ID (func ID))indicating that content distribution by tuner control can be implementedis set to the protocol information, and thus the client can learn thatstreaming distribution of live data via the tuner is possible on thebasis of the function ID. The function ID is an ID set for eachcontrolled object for content processing such as tuner control, DVDcontrol, hard disk control. If there are two tuners, different functionIDs, such as, e.g., a funcID=a, a funcID=b, are set, and they are usedalso as tuner identification information.

Where the client 460 desires to have tuner-received live streaming datadistributed on the basis of content information from the contentdirectory service 442, it transmits information acquired from thereceived content information to the connection manager service 431 ofthe content distribution control section 430. Details of these processeswill be described later.

Thereafter, an AVT instance 433 is assigned in the content distributioncontrol section 430, and the client can execute various control, such ascontrol over content for distribution, e.g., temporary stop (STOP) ofcontent, channel switching (SEEK).

A connection manager service (CMS) 441 within the content managementsection 440 performs communication control service between the client460 and the content management section 440, such as conveying protocolinformation outputted from the content management section 440, to theclient 460. Where there are a plurality of clients 460 connected to theserver 400, it executes connection ID management per client 460, andhandles requests from the respective clients 460 by identifying therequests.

Referring to FIG. 7, an object management configuration as to metadatarelated to live streaming data in the content directory service 442 willbe described.

As described with reference to FIG. 3 above, the content providingserver manages metadata corresponding to various content in a directorythat has a hierarchical configuration. FIG. 7 shows a managementconfiguration of metadata related to live streaming data managed by thecontent directory service 442.

A tuner container 482 is set below a root container 481. Note thatsetting modes for tuner containers set in the directory differ,depending upon the number of tuners and the setting modes for channellist URLs. These modes will be described in detail later. Individualchannels 483, 484, 485 are set to items which are set as children of thetuner container 482.

Metadata as content attribute information are associated with containersand items, respectively, and content information based on these metadatais provided by the server according to a content information request,such as searching or browsing, from the client 460.

A channel list URL, protocol information, and the like are stored intothe tuner container 482 as metadata. Information such as channel names(Tokyo TV, ABC TV, and the like) is stored into the channel items 483,484, 485.

The channel list URL set as metadata of the tuner container 482 is setas a URL for acquiring a single channel list in which, e.g., where thetuner can receive only 1 to 12 terrestrial channels, twelve channelsfrom 1 to 12 channels are listed. Where the tuner can receive broadcastdata through channels (1 to n channels) such as terrestrialbroadcasting, satellite broadcasting including BS, CS, the channel listURL is set as a URL for acquiring a single channel list in which nchannels, i.e., 1 to n channels are listed.

Note that channel lists classified according to categories, such as aterrestrial channel list, a BS channel list, a CS channel list, mayotherwise be set, whereby to set different channel list URLs thereto,respectively.

The client 460 can acquire these channel list URLs through a contentinformation acquisition process to which “searching” or “browsing” fromthe client 460 to the content directory service (CDS) 442 is applied.

When the client 460 performs content acquisition which is based on achannel list URL acquired, it can execute switching control over, e.g.,1 to 12 channels on the basis of that single URL set in the channellist. That is, the client 460, through channel list URL-based contentacquisition, can collectively obtain rights to control over all thestreaming data listed in the channel list. Specific control will bedescribed later.

In the configuration of the present invention, as mentioned above, acontent URL is set to a channel list which is a set of channels, inorder to permit collective control over a plurality of channels, insteadof setting URLs to the individual channels, respectively. Therefore, therights to control over streaming data corresponding to the channelslisted in the channel list can be provided collectively to the client460.

Where the client 460 has a channel list-based control right, it does nothave to set an HTTP connection which is based on a new URL even whereprocessing such as switching channels in the list is to be performed. Byonly transmitting a control instruction such as a channel switchinginstruction to the content distribution control section 432, it canperform the channel switching, and therefore, it is no longer requiredto perform processing, such as re-setting of the connection between theserver and the client which is based on switching of new/old URLs.

As shown in FIG. 7, as children of the tuner container 482, channelscorresponding to the channel list URL held by the tuner container 482,e.g., the 1 to 12 terrestrial channels are set as child items.Information about each of the channels is set to the corresponding itemas metadata.

FIG. 8 shows content information (metadata) corresponding to a tunercontainer and a channel item. Data shown in FIG. 8 is an example of XMLdata transmitted to the client 460 according to a content informationrequest to the content directory service (CDS) 442 from the client 460.

FIG. 8 (a) represents information which is based on metadatacorresponding to a tuner container, and has information such as shownbelow.

<container id=“ch-list” parentID=“−1” restricted=“1” . . . > <dc:title>terrestrial channel list </dc:title><upnp:class>object.container.function.avVideoTuner</upnp:class><av:allowedOperation>Play<av:allowedOperation><av:eventingURI>http://1.2.3.4:56000/SENA?id=live</av:eventingURI> <resprotocolInfo=“http-get:*:video/mpeg:func- id=t01”av:codec=“MPEG1V” . .. > http://1.2.3.4:56000/liveoutUrl </res> </container>

From the upper line, a container ID, a title, data regarding a class,and further, an allowed process [allowedOperation], a URL for eventnotification [eventingURI], protocol information [protocolInfo], and thelike are stored as content information about the tuner container. Theterm “event notification” means a URL set to execute a process of givingnotice to the client 460 where an event occurs which corresponds tocontent for distribution, such as, e.g., switching between stereo/mono,switching to bilingual broadcasting. The client 460 transmits an eventnotification request wherein a URL for event notification is designated,to the server, whereby it can receive various event notices in parallelwith content distribution.

The function ID [func-id=t01] in the protocol information [protocolInfo]shown in a data section 491 of FIG. 8 indicates that this content islive streaming content, i.e., that content distribution by tuner-appliedcontrol is to be executed. As mentioned above, the function ID is an IDset for each controlled object for content distribution, such as tunercontrol, DVD control. If there are two tuners, different function IDs,such as, e.g., the funcID=a, the funcID=b, are set. A line[http://1.2.3.4:56000/liveoutUrl] shown in a data section 492 of FIG. 8is a channel list URL.

FIG. 8 (b) represents information which is based on metadatacorresponding to a channel item, and has information such as shownbelow.

-   <item id=“ch8” parentID=“dev0” restricted=“1”>-   <dc:title>Tokyo TV</dc:title>-   <upnp:class>object.item.videoItem.videoBroadcast.avChannel-   </upnp:class>-   <upnp:channelName>Tokyo TV</upnp:channelName>-   <upnp:channelNr>8</upnp:channelNr>-   . . .-   </item>

From the upper line, a title, a class, a channel name, a channel numberare described. The client 460 acquires content information correspondingto a tuner container and a channel item, whereby the client can learn inwhat range it can acquire the channel control right, from a contentrequest which is based on the channel list URL set to the tunercontainer.

The client 460 displays the channel information list on the display ofthe client 460 on the basis of XML data formed from the contentinformation shown in FIG. 8.

Referring next to FIG. 9, details of a streaming data distributionprocessing sequence which is based on a channel list URL executedbetween the server and the client will be described.

First, the client 460 acquires content information by a “browsing” or“searching” process in step S101, in order to check content that is heldby the server and can be provided to the client 460. The client 460wishing to execute content searching requests the server for “searching”to which a hierarchical level or a class corresponding to a set ofobjects in the content management directory is designated, or for“browsing” as designation of a specific object, whereby the client 460can acquire information about the content. The “browsing” or “searching”is executed to the content directory service 442 of the contentmanagement section 440 (see FIG. 6), and the content directory service442 generates XML data which is based on metadata corresponding to therespective objects from the database 443 storing the metadata therein,for provision to the client 460 as the content information.

For example, where content information about a tuner container has beenacquired, the tuner container-corresponding content information shown inFIG. 8 (a) and the information based on channel-based contentinformation shown in FIG. 8 (b) are transmitted to the client 460. Notethat the information shown in FIG. 8 (b) is content informationcorresponding to a single channel. Where the client 460 requestsinformation about a tuner container and all the channels as child items,as many pieces of the information shown in FIG. 8 (b) as the number ofchannels set as child items of the tuner container are to be transmittedto the client 460.

The client 460 displays the content information on the display on thebasis of XML data describing the content information received from theserver. This is display information such as described with reference toFIG. 4 above.

The client 460 acquires:

a channel list URL;

a function ID (funcID); and

channel information

on the basis of the content information corresponding to the tunercontainer and the channel item shown in FIGS. 8 (a), (b).

Next in step S102, the client 460 transmits a protocol informationacquisition request to the connection manager service 431 of the contentdistribution control section 430. This is a process of requesting a listof protocol information that can be inputted to the content distributioncontrol section 430, i.e., protocol information that can be processed bythe content distribution control section 430.

In step S103, the connection manager service 431 transmits the protocolinformation list to the client 460. This protocol information listcontains various protocol information that can be processed by thecontent distribution control section 430, such as, e.g., MPEG as aprotocol for video data, ATRAC for audio data.

The protocol information list transmitted to the client 460 from theconnection manager service 431 of the server that can distributereceived data by the tuner 410 contains information indicating that livestreaming data can be distributed. Specifically, protocol information,which is [internal:1.2.3.4:application/x-av-tuner-content:func-id=t01],is contained. That is, information having [internal] described in aschema column (first column) is contained. This protocol informationindicates that a logical connection with the internal content managementsection (media server) 440 can be made by connection preparation(PrepareForConnection) which will be described below.

This protocol information also contains a function ID. As mentionedabove, the function ID is an ID set for each controlled object forcontent distribution, such as tuner control, DVD control, and is alsocontained in the content information acquired from the content directoryservice 442 by the “browsing” or “searching” process performed by theclient in step S101. Here, the function ID [func-id=t01] is set as afunction ID corresponding to content distribution to which the tuner 410is applied.

Next in step S104, the client 460 acquires information about otherclients currently connected to the server 400. The connection managerservice 431 is executing connection management, while holding aconnection management table such as shown in FIG. 10 in which connectionIDs corresponding to the clients connected to the server are associatedwith client identifiers and protocol information corresponding tocontent to be distributed to the respective clients. These pieces ofinformation are provided to the client 460 according to a connectioninformation acquisition request from the client 460. This process willbe described later. Note that this connection information notificationprocess is to be performed by a client 460 in order to check theconnection situation as to other clients 460, and thus can be omitted.

In step S105, the client 460 transmits a connection preparation request(PrepareForConnection) to the connection manager service 431. Where theclient 460 desires distribution of tuner-applied live streaming data,the client only has to transmit protocol information having a functionID that coincides with the function ID (funcID) contained in the contentinformation corresponding to the tuner container as content informationreceived from the content directory service (CDS) 442 previously.

In transmitting the connection preparation request(PrepareForConnection) in step S105 the client 460 transmits theprotocol information[internal:1.2.3.4:application/x-av-tuner-content:func-id=t01] regardinglive streaming received from the connection manager service 431 in theabove-mentioned protocol information acquisition (S103).

The connection manager service 431 having received the connectionpreparation request (PrepareForConnection) from the client 460 judgesthat it is a request for streaming distribution of tuner-received data,on the basis of the protocol information[internal:1.2.3.4:application/x-av-tuner-content:func-id=t01] containedin the connection preparation request, and sets (assigns) one AVTinstance 433 within the content-handling control section 432 as a tunercontrol instance, whereby to perform a binding process, i.e.,associating a connection ID for the client 460 having made theconnection preparation request (PrepareForConnection) with an identifier(AVT instance ID) of the AVT instance set (assigned) as the tunercontrol instance.

Note that as mentioned above, the connection manager service 431 has theconnection management table shown in FIG. 10, i.e., data in which aconnection ID is associated with an AVT instance ID/protocol informationfor each connected client 460, and manages this as connection managementinformation.

In step S106, the connection manager service 431 notifies the client 460of an AVT instance ID, which is an identifier of the assigned AVTinstance, and connection ID information set to the connection betweenthe client 460 and the server. The client 460 stores these pieces ofinformation into a memory.

In step S107, the client 460 issues a URI (Uniform Resource Identifier)setting request to the assigned AVT instance as processing for causingthe AVT instance assigned by the connection manager service 431 toperform content distribution control. The URI set to the AVT instancecontains the AVT instance ID notified from the connection managerservice 431, and the channel list URL contained in the contentinformation corresponding to the tuner container acquired in theprocessing of step S102.

The AVT instance now can identify content and a client which it is tocontrol on the basis of the AVT instance ID and the channel list URLdesignated by the client 460. That is, the client that transmits variouscontrol instructions by designating the AVT instance ID is a clientcorresponding to the AVT instance, and the channel list URL is contentfor control.

The channel list URL is content corresponding to the tuner container,and the AVT instance wherein the channel list URL is set is to be set asan instance that executes control over the tuner 410.

Next, the client 460 can execute requesting of various content controlto the AVT instance, in step S108 and forward. In step S108 areproduction (Play) request is issued to the AVT instance. This controlrequest uses, e.g., the SOAP (Simple Object Access Protocol). On thebasis of SOAP, the client 460 generates description data compliant withXML data, for transmission to the AVT instance 433.

The AVT instance 433 executes control which is based on the receivedinformation from the client 460, e.g., processing such as contentreproduction start/end, channel switching. The AVT instance 433specifies content for control on the basis of the set content URL, andcontrols that specified content for control. In this case, the contentURL is a channel list URL, and the channel list URL is contentinformation corresponding to the tuner container. Thus, the AVT instance433 executes control over the tuner 410.

When the AVT instance 433 receives the reproduction (Play) request ofstep S108, the AVT instance 433 controls the tuner 410, to starttransmission of tuner-received data to the client 460.

In step S109, a channel setting (Seek) request is issued to the AVTinstance. This request contains the AVT instance ID and a channelnumber. When the AVT instance 433 receives the channel setting (Seek)request, the AVT instance 433 controls the tuner 410 to set a channel onthe tuner to transmit received data to the client 460.

Step S110 indicates distribution of live streaming data which is to beexecuted continuously thereafter. Step S111 indicates that an eventnotification process (SENA) is executed in parallel with contentdistribution. As mentioned above, the term “event” means informationregarding content for distribution, such as, e.g., switching betweenstereo/mono, and is a process by which the server gives notice ofvarious event information on the basis of an event notification requestfrom the client 460 which is based on an event URL.

Referring to FIG. 11, a channel switching processing sequence will bedescribed. The channel switching process is executed during distributionof streaming data which is based on a channel list URL. It is assumedthat distribution of streaming data and event notification have beenexecuted in step S201.

In step S202 the client 460 issues a channel switching (Seek) request tothe AVT instance. In this control, e.g., the SOAP (Simple Object AccessControl) protocol is used, as mentioned above. The client 460 generatesdescription data compliant with XML data, for transmission to the AVTinstance 433. This request contains an AVT instance ID and a channelnumber for switching. When the AVT instance 433 receives the channelsetting (Seek) request, the AVT instance 433 controls the tuner 410 toperform switching to the channel on the tuner, to transmit received datato the client 460.

Thereafter in step S203, distribution of streaming data corresponding tothe channel tuned to after the switching and event notification areexecuted.

Since the HTTP connection between the server and the client before andafter this channel switching is an HTTP connection which is based on thesame URL, i.e., the same channel list URL, the channel switching is tobe executed with the connection maintained between the server and theclient.

In this way, when channels in a channel list are to be switched, achannel switching request (AVT Seek action) is performed to an AVTinstance. At this point, not only the client 460 that has performed thechannel switching request (AVT Seek action) but also client(s) using thesame live streaming has the content changed without breaking the HTTPconnection.

Note that where image or audio data to be transmitted to the client fromthe server is coded data such as, e.g., MPEG data, when data fortransmission is switched unconditionally on the basis of a channelswitching timing received from the client, unmatching of coded datapackets to be transmitted may occur in some cases. When the client sidedecodes such unmatched coded data, content reproduction error is causeddue to decoding error.

For example, in an MPEG-2 system, a Pack is used as a single processingunit. The Pack is formed by combining a plurality of PES (PacketizedElementary Stream) packets, which are individual data streams such asvideo and audio data streams, and further, by storing controlinformation into a header thereof. Therefore, when channel switching isexecuted to change data for transmission during transmission of part ofPES packets that form a Pack, some dropout occurs in the Pack, which isa single processing unit at the time the client decodes data, thuscausing reproduction error.

Therefore, the content distribution control section 430 of the serverjudges whether or not matching of coded data for transmission can bemaintained even when the data for transmission is changed on the basisof the channel switching request from the client, and where it is judgedthat the matching cannot be maintained, it breaks the connection fordistribution of data streams between the server and the client, i.e.,the HTTP connection which is based on the channel list URL. The serverfurther notifies the client that the connection for distribution of datastreams has been broken via an event notification connection.

Where the client receives a connection breakage notice from the server,the client performs a process of setting the HTTP connection which isbased on the channel list URL again; i.e., it transmits an HTTP-GETmethod which is based on the channel list URL, to the server. Note thatthe setting status of the AVT instance (tuner control instance 433) ismaintained, and thus setting processing, such as assigning anew a tunercontrol instance 433, setting a URI can be omitted.

It may alternatively be configured such that, instead of executing thechannel switching unconditionally on the basis of the channel switchingtiming received from the client, the server, after having received thechannel switching request from the client, waits until a timing at whichmatching of encoded data for transmission to the client can bemaintained arrives, and executes switching of data for transmission tothe client at the timing at which the matching can be maintained. Thisswitching timing control is performed by detecting a data encodingsituation in the codec 420, inputting the detected information to thetuner control instance 433, and executing the channel switching on thetuner 410 under the timing control by the tuner control instance 433.

When the server side executes such channel switching timing control,occurrence of decoding error on the client side can be prevented,whereby the client side can reproduce data before the channel switchingand data after the channel switching normally.

Referring next to a sequence diagram of FIG. 12, a process in a case ofcompleting the live streaming data distribution process will bedescribed. It is assumed that distribution of streaming data and eventnotification have been executed in step S301.

The client 460 wishing to end the live streaming data distributionprocess, transmits a connection complete request wherein a connection IDis stored, to the connection manager service 431, in step S302. Theconnection ID is the one that has been received from the connectionmanager service 431 in step S106 of the sequence diagram of FIG. 9. Theconnection manager service 431 breaks the server-client connectionaccording to a request from the client 460, and further deletes thecorresponding entry from the connection management table described withreference to FIG. 10.

Note that the client 460 can learn the presence of other clients thatare using the same AVT instance by an inquiry process of step S104. Byperforming this check beforehand, one can see which function ID(func-id) should be selected to use an empty AVT instance. When thischeck is performed, a process for which considerations are given to theother clients can be performed.

For example, where all AVT instances are used, a message saying “Otherusers may be viewing. Are you really sure?” or the like is transmittedto the client 460 from the server at the time of a channel change, and amessage displaying UI is generated at the client 460 for presentation,whereby careless control over connections of other clients, e.g.,careless channel switching, can be prevented in a network in which aplurality of clients are connected.

Details of the connection information acquisition process of step S104are as follows. First, a current connection ID request(GetCurrentConnetion IDs) is made to the connection manager service 431of the content distribution control section 430. A list of connectionIDs (Connection IDs) which are currently active is returned as a returnvalue. When a connection information request (GetCurrentConnectionInfo)is made using each connection ID, one can see protocol information(ProtocolInfo) assigned by that connection ID. Where a function ID(func-id) written in additional information (AdditionalInfo) in thisprotocol information is the same as a function ID which the clientwishes to use, one can see that the same internal resource (a tuner orthe like) is being handled.

As mentioned above, the client 460 has an AVT instance assigned by theconnection manager service (CMS) 431, and sets a channel list URLcorresponding to a tuner container to that AVT instance, whereby theclient can start live streaming based-on that URL.

Note that where there is a limit in the number of AVT instances that canbe set in the content distribution control section 430, the connectionmanager service (CMS) 431 of the content distribution control section430 executes the following process to control setting of AVT instances.

When the connection manager service (CMS) 431 is requested from theclient to assign an AVT instance anew with the limited number of AVTinstances already assigned, the old connections prevail. That is, any ofthe AVT instances set on the basis of the old connections is notswitched on the basis of a new request.

However, this holds true as far as the limited number of AVT instancesis concerned. In a case where it is a request to deal with the same AVTinstance, even if that AVT instance has already been provided to anotherclient, the same AVT instance ID may be provided anew to differentconnection IDs. In this case, a plurality of clients can execute controlwhich is based on a single AVT instance.

Specifically, two or more clients can execute control by an AVT instancewherein a single channel list URL is set, and thus a controlinstruction, e.g., a channel switching process, from any of the clientscan be validly executed under the control by that single AVT instance.

Note that in a case of a server whose content distribution controlsection 430 has two AVT instances, an AVT instance-#0 and an AVTinstance -#1, but which can operate only one AVT instance at once,processing is executed as in, e.g., the following items a to f.

a. First, client 1 requests AVT-#0 to be assigned.

b. AVT-#0 is assigned to connection ID-1.

c. Next, client 2 requests AVT-#0 to be assigned.

d. AVT-#0 is assigned to connection ID-2.

e. Next, client 1 requests AVT-#1 to be assigned.

f. An error is returned to client 1.

By executing such processing, the number of AVT instances that can beset can be limited.

As mentioned above, a channel list URL can be obtained from the contentdirectory service (CDS) 442. When a tuner is in a Play state, i.e., in astate where content is being distributed to a client, all clients (onlywhen the server is handling a plurality of clients) having already madetheir content request which is based on HTTP-GET to this channel listURL can obtain streaming from the tuner upon setting of the channel listURL to the AVT instance.

That is, where a client wishes to merely monitor the streaming used byanother client, the client can obtain the streaming from the tuner byonly issuing a URL for the streaming, i.e., an HTTP-GET method whereinthe channel list URL obtained from the content directory service (CDS)442 is set, without executing setting of an AVT instance.

Where the content distribution control section 430 of the server 400receives an HTTP-GET method as a content request wherein the samechannel list URL is designated from another client during its executingdistribution control over content on a plurality of channels received bythe tuner 410 and specified on the basis of the channel list URL as achannel list identifier under the control by the AVT instance, thatrequesting client can execute distribution of the tuner-received contentspecified on the basis of the channel list URL through the HTTPconnection which is based on the channel list URL, without performingsetting of an AVT instance.

[Server Having Multiple Tuners]

The above example deals with a server having only one tuner. Aconfiguration in which multiple tuners are mounted on a server can alsobe implemented. In this case, channel URLs are associated with therespective tuners, and further, different AVT instances are individuallyset thereto to execute their control. A process in a server having twotuners is shown in FIG. 13.

In this case, single streaming content is transmitted to a client via atuner A 511, a codec A 512, and further, another streaming content istransmitted to a client via a tuner B 521, a codec B 522.

A connection manager service 530 of a content distribution controlsection 500 assigns AVT instances for executing control over therespective tuners individually. A tuner control instance 531 executescontrol over the tuner A 511, and a tuner control instance 532 executescontrol over the tuner B 521.

In this case, a channel list URL set to the tuner control instance 531is a channel list URL (A) corresponding to a tuner A container, and achannel list URL set to the tuner control instance 532 is a channel listURL (B) corresponding to a tuner B container.

Each of the clients receiving the content via the respective tuners hasan AVT instance ID corresponding to the tuner control instance 531 orthe tuner control instance 532, and can perform control designated bythe corresponding AVT instance ID, whereby control can be implementedindependently.

Note that association of the tuners with channel lists is determined bythe channel list URLs set as metadata that are set so as to correspondto the tuner containers, as mentioned above. In the above-mentionedexample, a case where a single channel list URL is associated with asingle tuner has been described. However, where there are multipletuners, there can be various modes for associating tuners with channellist URLs.

Where there are two tuners, and when each of the tuners can receive bothterrestrial waves and BS waves, a single tuner container is set, and twochannel list URLs can be set as metadata. To a tuner container 601,terrestrial channel items 602 and BS channel items 603 can be set aschild items.

As metadata of the tuner container 601, two channel list URLs are set,which are a channel list URL 1 (funcID=a) and a channel list URL 2(funcID=b).

In a case of such a configuration, the client can learn the two channellist URLs and their channel information as content information of thetuner container 601. When wishing to view a terrestrial channel, theclient only has to select a channel list corresponding to theterrestrial waves, e.g., the channel list URL 1 (funcID=a) to executethe AVT instance setting process in step S107 in the processing sequenceshown in FIG. 9. When wishing to view a BS channel, the client only hasto select a channel list corresponding to the BS waves, e.g., thechannel list URL 2 (funcID=b) to execute the AVT instance settingprocess in step S107 in the processing sequence shown in FIG. 9.

Note that in the case of such a configuration, as the protocolinformation transmitted from the connection manager service 431 of thecontent distribution control section 430 in step S103, the client isnotified of two pieces of protocol information regarding streaming datacontent received via the two tuners, which are

[internal:1.2.3.4:application/x-av-tuner-content:func-id=a]

[internal:1.2.3.4:application/x-av-tuner-content:func-id=b]

corresponding to the function IDs of the above-mentioned two channellist URLs.

Further, where there are two terrestrial/BS dual-function receivingtuners, and when one is used exclusively for terrestrial waves and theother for BS waves, tuner containers 611, 621 are set as shown in FIG.15. A plurality of terrestrial channel items 612 are set to theterrestrial tuner container 611. A plurality of BS channel items 622 areset to the BS tuner container 621.

Although only one channel list URL could be set to each of the tunercontainers, two channel list URLs are set to each of the two tunercontainers in an example shown in FIG. 15.

As a result of such a configuration, where a certain client is viewing acertain terrestrial channel by applying one tuner, another client canview another terrestrial channel by using the other tuner. Similarly,various types of viewing combinations, such as the clients viewing twodifferent BS channels, respectively, or one viewing a terrestrialchannel and the other viewing a BS channel, can be implemented.

Specifically, where two terrestrial channels are to be viewed via thetwo tuners, a channel list URL-Terrestrial 1 (funcID=a) and a channellist URL-Terrestrial 2 (funcID=b) in the terrestrial tuner container 611are set to different AVT instances to allow them to perform control overthe different tuners, respectively, whereby the two terrestrial channelscan be transmitted to the respective clients.

Where two BS channels are to be viewed via the two tuners, a channellist URL-BS 1 (funcID=a) and a channel list URL-BS 2 (funcID=b) in theBS tuner container 621 are set to different AVT instances to allow themto perform control over the different tuners, respectively, whereby thetwo BS channels can be transmitted to the respective clients.

In a case of terrestrial and BS channels, control is performed by acombination of the channel list URL-Terrestrial 1 (funcID=a) in theterrestrial tuner container 611 and the channel list URL-BS 2 (funcID=b)in the BS tuner container 621, or a combination of the channel listURL-Terrestrial 2 (funcID=b) in the terrestrial tuner container 611 andthe channel list URL-BS 1 (funcID=a) in the BS tuner container 621,whereby the terrestrial and BS content can be provided to the clientsvia the different tuners, respectively.

Further, of the two tuners, where one is dedicated to terrestrial waves,and the other is used as a terrestrial/BS dual-function tuner, channellist URLs such as shown in FIG. 16 can be set.

As shown in FIG. 16, tuner containers 631, 641 are set. A plurality ofterrestrial channel items 632 are set to the terrestrial tuner container631. A plurality of BS channel items 642 are set to the BS tunercontainer 631.

Two channel list URLs are set to the terrestrial tuner container 631,allowing the two channel list URLs to be applied simultaneously. Thismeans that streaming distribution can be implemented simultaneouslyusing the two tuners, only as to the terrestrial waves.

Specifically, where two terrestrial channels are to be viewed via thetwo tuners, a channel list URL-Terrestrial 1 (funcID=a) and a channellist URL-Terrestrial 2 (funcID=b) in the terrestrial tuner container 631are set to different AVT instances to allow them to perform control overthe different tuners, respectively, whereby the two terrestrial channelscan be transmitted to the respective clients.

In a case of terrestrial and BS channels, control is performed by acombination of the channel list URL-Terrestrial 2 (funcID=b) in theterrestrial tuner container 631 and the channel list URL-BS (funcID=a)in the BS tuner container 641, whereby the terrestrial and BS contentcan be provided to the clients via the different tuners, respectively.

[Processing Flows of Server and Client]

Referring to flows of FIGS. 17 and 18, processing procedures of a serverand a client in a live streaming process for tuner-received data will bedescribed, respectively. First, a process on the part of the client willbe described with reference to the processing flow of FIG. 17.

In step S501, a client apparatus executes requesting of contentinformation acquisition through the “browsing” or “searching” process.This is executed to the content directory service 442 of the contentmanagement section 440 (see FIG. 6).

In step S502, the content information is received. Here, the contentinformation about a tuner container and a channel item is to be acquiredin order to execute streaming data distribution via a tuner. The contentinformation corresponding to the tuner container shown in FIG. 8 (a),and information based on the channel-based content information shown inFIG. 8 (b) are acquired. As a result of this process, a channel listURL, a function ID, channel information are acquired.

Next in step S503, the client transmits a protocol informationacquisition request to the connection manager service 431 of the contentdistribution control section 430. In step S504, the client receives aprotocol information list from the connection manager service 431. Thisprotocol information list contains protocol information[internal:1.2.3.4:application/x-av-tuner-content:func-id=t01] indicatingthat live streaming data can be distributed.

Next in step S505, the client acquires information regarding otherclients currently connected to the server 400, from the connectionmanger service 431. In step S506, the client transmits a connectionpreparation request (PrepareForConnection) to the connection managerservice 431. Where the client wishes distribution of tuner-applied livestreaming data, the client transmits protocol information having afunction ID that coincides with the function ID (funcID) contained inthe content information corresponding to the tuner container receivedfrom the content directory service (CDS) 442 in step S502.

In step S507, the client receives a connection ID, and an identifier(AVT instance ID) of an AVT instance set (assigned) as a tuner controlinstance.

In step S508, the client issues a URI (Uniform Resource Identifier)setting request to the assigned AVT instance. The URI to be set to theAVT instance contains the AVT instance ID notified from the connectionmanager service 431, and the channel list URL contained in the contentinformation corresponding to the tuner container acquired in step S502.

The processing up to this point is a setting process for allowing theAVT instance to perform tuner control. Thereafter, by issuing controlrequests to the AVT instance, the client can perform various control,such as transmission/stop of content, and channel switching.

In step S509, the client executes requesting of content control to theAVT instance. For example, a reproduction (Play) request, a channelswitching (Seek) request are made. The client generates description datacompliant with XML data, and transmits various control information tothe AVT instance 433.

Where it is determined in step S510 that a user on the client sidewishes to perform channel switching, the client issues a channelswitching (Seek) request to the AVT instance in step S511. The AVTinstance ID and a channel number for switching are stored into thiscontrol request. Where it is determined in step S512 that the connectionis to be completed, the client transmits a connection complete requestwherein the connection ID is stored, to the connection manager service431. The connection ID is the one that has been received from theconnection manager service 431 in step S507.

Referring next to the processing flow of FIG. 18, the process on theserver side will be described. In step S601, the content directoryservice 442 of the content management section 440 (see FIG. 6) receivesa content information acquisition request from the client. Here, it isassumed that a request for acquiring content information about a tunercontainer and a channel item has been made.

In step S602, the content directory service 442 transmits the contentinformation about the tuner container and the channel item. Theinformation includes the tuner container-corresponding contentinformation shown in FIG. 8 (a) and the channel-based contentinformation shown in FIG. 8 (b), containing a channel list URL, afunction ID (funcID), channel information.

In step S603, the connection manager service 431 of the contentdistribution control section 430 of the server receives a protocolinformation acquisition request from the client. In step S604, theconnection manager service 431 transmits a protocol information list tothe client. The protocol information list transmitted to the client fromthe connection manager service 431 contains protocol information, whichis [internal:1.2.3.4:application/x-av-tuner-content:func-id=t01]indicating that live streaming data can be distributed.

Next in step S605, the connection manager service 431 providesinformation regarding other clients currently connected to the server400. The connection manager service 431 provides connection informationon the basis of the connection management table shown in FIG. 10.

In step S606, the connection manager service 431 receives a connectionpreparation request (PrepareForConnection) from the client. Where theclient desires tuner-applied distribution of live streaming data, theconnection preparation request contains the function ID (funcID)contained in the content information corresponding to the tunercontainer as the content information already transmitted thereto fromthe content directory service (CDS) 442.

The connection manager service 431 having received the connectionpreparation request from the client judges that it is a request forstreaming distribution of the received data by the tuner, on the basisof the protocol information[internal:1.2.3.4:application/x-av-tuner-content:func-id=t01] containedin the connection preparation request, and thus, in step S607, sets(assigns) one of AVT instances 433 in the content-handling controlsection 432 as a tuner control instance, performs a process of binding aconnection ID to the client that has transmitted the connectionpreparation request, to an identifier (AVT instance ID) of the AVTinstance set (assigned) as the tuner control instance, i.e., associatingthe former with the latter, and sets an entry to the connectionmanagement table shown in FIG. 10. In step S608, the connection managerservice 431 notifies the client of the connection ID and the AVTinstance ID.

In step S609, when the AVT instance receives a URI (Uniform ResourceIdentifier) setting request from the client, the AVT instance ID and thechannel list URL are set to the AVT instance as the an AVT instance URI,in step S610.

The AVT instance can now identify content and a client which it is tocontrol on the basis of the client-designated AVT instance ID andchannel list URL. That is, the AVT instance recognizes the client thattransmits various control instructions by designating the AVT instanceID, as a client corresponding to the AVT instance, and identifies atuner associated by the channel list URL as a controlled object. Thechannel list URL is content corresponding to the tuner container, andthe AVT instance wherein the channel list URL is set is to be set as aninstance that executes control over the tuner 410.

Next in step S611, when the AVT instance receives a content controlrequest, the AVT instance 433 executes processing, such as tuner controlwhich is based on the information received from the client, e.g.,content reproduction start/end, and channel switching, in step S612. TheAVT instance 433 specifies content for control on the basis of a setcontent URL, and controls that specified content for control. In thiscase, the content URL is a channel list URL, and the channel list URL isthe content information corresponding to the tuner container, and thusthe AVT instance 433 executes control over the tuner 410.

When it is determined in step S613 that a channel switching (Seek)request has been received, the AVT instance 433 controls the tuner 410to switch channels on the tuner, in step S614. The HTTP connectionbetween the server and the client before and after this channelswitching is an HTTP connection which is based on the same URL, i.e.,the same channel list URL, and thus, the channel switching is executedwith the connection maintained between the server and the client.

Where it is determined in step S615 that the connection manager service431 has received a connection complete request wherein the connection IDis stored, it breaks the connection between the server and the clientaccording to the request from the client, and further, deletes thecorresponding entry from the connection management table described withreference to FIG. 10, in step S616.

Note that as mentioned above, where image or audio data for transmissionto the client from the server is converted into coded data, such as,e.g., MPEG data, unconditional execution of switching of the data fortransmission on the basis of a channel switching timing received fromthe client may cause unmatching of coded data packets for transmissionin some cases. For example, during transmission of a part of PES(Packetized Elementary Stream) packets which are packets forming a pack(Pack) specified in, e.g., the MPEG-2 system, when channel switching isexecuted to change the data for transmission, some dropout occurs in apack (Pack) which is a processing unit for decoding on the part of theclient, causing reproduction error.

Therefore, where it is determined in step S613 that the server hasreceived a channel switching (Seek) request, the server determineswhether or not matching of the coded data for transmission can bemaintained even when the data for transmission is changed on the basisof the channel switching request from the client. If it is determinedthat the matching cannot be maintained, the server breaks the“connection” connection for distribution of data streams between theserver and the client, i.e., the HTTP connection which is based on thechannel URL, before executing the channel switching that is performed bythe AVT instance 433 controlling the tuner 410 in step S614, and thenexecutes a process of notifying the client that the “connection”connection for distribution of data streams has been broken, via aconnection for event notification, after which the server executes thechannel switching through the control over the tuner 410 by the AVTinstance 433, in step S614.

Where the client receives a connection breakage notice from the server,the client performs a process of setting the HTTP connection which isbased on the channel list URL again; i.e., it transmits an HTTP-GETmethod which is based on the channel list URL, to the server. Note thatthe setting status of the AVT instance (tuner control instance 433) ismaintained, and thus setting processing, such as assigning anew a tunercontrol instance 433, setting a URI can be omitted.

Note that it may otherwise be configured such that, as mentioned above,the server detects a data encoding situation in the codec 420, andinputs the detected information to the tuner control instance 433 toexecute channel switching on the tuner 410 under the timing control bythe tuner control instance 433. In this case, the tuner control instance433 executes the channel switching under the control over the tuner 410by the AVT instance (tuner control instance 433) in step S614, at such atiming when matching of the coded data for transmission to the clientcan be maintained, on the basis of the detected information about thedata encoding situation in the codec 420, after having received thechannel switching (Seek) request in step S613.

By the server side executing such control over the channel switchingtiming, occurrence of decoding error can be prevented on the clientside, and thus the client side can execute reproduction of the databefore and after the channel switching normally.

[Functional Configuration of Server and Client]

The hardware configurations of the server and the client apparatus areas described above with reference to FIG. 2 above. The above-mentionedvarious processes, e.g., the processes described with reference to theflows of FIGS. 17, 18 are executed mainly under the control of the CPUsaccording to programs stored in the respective storage sections of theserver and the client. A functional configuration of the server and afunctional configuration of the client which are required to execute theabove-mentioned processes will be described with reference to FIGS. 19and 20.

FIG. 19 is a block diagram showing a major functional configuration ofthe server. While basically corresponding to the configuration shown inFIG. 6, the configuration of FIG. 19 shows an example in which theserver has two tuners. A packet transmission/reception section 701receives packets to and from a client. A packet generation/analysissection 702 performs a process of generating packets for transmission,and a process of analyzing packets received. The processes includeaddressing, address recognition of a packet, storing of data into oracquiring of data from a data section.

A tuner A 703 and a tuner B 704 are tuners that receive data viaterrestrial broadcasting, satellite broadcasting such as BS, CS, theInternet, and other communication networks.

A content storage section 705 stores content held by the server. Eachitem of the content can be specified by a content URL. An eventinformation storage section 706 stores event information correspondingto the content. Each piece of the event information can be specified byan event URL.

A codec 707 converts the content held by the server, tuner-receivedcontent into a data mode corresponding to a request from a client. Itexecutes conversion of file formats, codec, resolutions, and the like.For example, it executes data conversion based on ATRAC3, MPEG4.

A content management section is a processing section that executescontent management, and a metadata storage section 713 is a storagesection in which metadata as attribute information corresponding to thecontent is stored. As mentioned above, the metadata storage section 713stores property information that constitutes metadata corresponding toobjects rendered by containers and the like. For example, as propertyinformation about a tuner container, a channel list URL is set. Aconnection manager service 711 generates content information on thebasis of the metadata according to a content information request from aclient. The connection manager service 711 manages connections with aclient in the content management section, and provides the client withprotocol information and the like that can be processed in the contentmanagement section.

A content distribution control section 720 executes control over contentfor distribution to a client, and has a connection manager service 721and a content-handling control section 722. AVT instances 723 are set tothe content-handling control section 722, and specific distributioncontrol over content is executed by an AVT instance corresponding toeach content.

The connection manager service 721 assigns an AVT instance, and sets aconnection management table (see FIG. 10) that manages connection IDs,AVT instance IDs, protocol information by association with each other,to perform connection management.

Referring next to FIG. 20, a functional configuration of the clientapparatus will be described. A packet transmission/reception section 801receives packets to and from the server. A packet generation/analysissection 802 performs a process of generating packets for transmissionand a process of analyzing packets received. Not only analysis of datastored into a packet, but also addressing, address recognition of apacket, storing of data into and acquiring of data from a data section,and the like are included.

A storage section 803 stores content information, content, channelinformation, channel list URLs, function IDs, event information,connection IDs, AVT instance IDs, and the like therein.

An output section 804 includes speakers, a display to be applied to acontent reproduction process. Note that the display is also used foroutput of the display information described with reference to FIG. 4above. An input section 805 includes means such as a keyboard, and otherdata input means for executing user input, such as selection of achannel list as content information displayed as display information,channel selection which is based on the channel information, and thelike.

A content information analysis section 806 analyzes XML data formed fromcontent information received from the server, generates the displayinformation containing a content URL, a channel list URL described withreference to FIG. 4 above, or their link data, on the basis of theanalyzed data, and executes a process of outputting them on the displayas the output section.

A content reproduction control section 807 executes reproduction controlover content received from the server. Note that in the contentreproduction process, a process of converting the content received fromthe server is executed in a data conversion section 808, as necessary.For example, it executes a data decoding process and the like which isbased on ATRAC3, MPEG4.

The server and the client functionally have the respective functionsshown in FIGS. 19, 20, and execute the above-mentioned respectiveprocesses. However, the block diagrams shown in FIGS. 19, 20 are blockdiagrams explaining the functions, and thus, in actuality, variousprocessing programs are executed under the control of the CPU in thehardware configuration of the PC or the like shown in FIG. 2.

The present invention has been described in great detail with referenceto a specific embodiment in the foregoing. However, it is obvious thatthose skilled in the art can make modifications to or substitutions forthe embodiment without departing from the scope and spirit of thepresent invention. That is, the present invention has been disclosed byway of examples, and thus should not be construed in a restrictivesense. In order to judge the scope and spirit of the present invention,the appended claims should be taken into consideration.

Note that a series of processes described in the description can beperformed by hardware, or software, or a configuration having bothcombined. In a case of performing the processes depending on software,the processes can be performed by installing a program having recordedprocessing sequences therein to a memory within a computer incorporatedinto dedicated hardware, for execution, or by installing the programinto a general-purpose computer that can perform various processing, forexecution.

For example, the program can be recorded on a hard disk and a ROM (ReadOnly Memory) as recording media beforehand. Alternatively, the programcan be stored (recorded) temporarily or permanently on a removablerecording medium, such as a flexible disk, a CD-ROM (Compact Disc ReadOnly Memory), a MO (Magneto optical) disc, a DVD (Digital VersatileDisc), a magnetic disk, a semiconductor memory. Such a removablerecording medium can be provided as so-called package software.

Note that the program can be installed to the computer from a removablerecording medium such as mentioned above, and additionally, throughwireless transmission to the computer from a download site, wiredtransmission to the computer via a network such as a LAN, the Internetto allow the computer to receive the thus transmitted program forinstallation in a storage medium such as a hard disk incorporatedtherein.

Note that the various processes described in the description areperformed not only time-sequentially according to what has beendescribed, but also parallelly or individually according to theprocessing capacity of an apparatus that performs a process, or asnecessary. Further, the system used in the present description means alogical set configuration of a plurality of apparatus, and is notlimited to one wherein apparatus each having its own configuration aregrouped within the same enclosure.

INDUSTRIAL APPLICABILITY

According to the configuration of the present invention, it isconfigured to set a URL to a channel list as a set of channels, and aclient transmits a content acquisition request wherein the channel listURL is designated, to a server, whereby the client can collectivelyobtain rights to control all content on the channels listed in thechannel list, i.e., channel items set below a tuner container in acontent management directory. As a result, when channels listed in thechannel list are to be switched, there is no need to make a contentrequest which is based on a new URL.

Further, in the configuration of the present invention, contentdistribution which continuously uses an HTTP connection set on the basisof the channel list can be executed before and after channel switchingexecuted as switching of a plurality of tuner-received contentcorresponding to a plurality of channels described in the channel list.Therefore, the client can switch channels only by transmitting a controlinstruction, such as a channel switching instruction, to the contentdistribution control section. Consequently, processing, such asre-setting of the connection between the server and the client which isbased on switching of new/old URLs, is no longer required. That is, whenchannels in the channel list are to be switched, content can be receivedbefore and after the channel switching, while continuously using theHTTP connection as a content distribution connection, only by performinga channel switching request (AVT Seek action) to an AVT instance.

Furthermore, in the configuration of the present invention, where anHTTP-GET method as a content request from another client wherein thesame channel list URL is designated is received during execution ofdistribution control over content of a plurality of channels received bya tuner specified on the basis of a channel list URL as an identifier ofa channel list under the control of an AVT instance, that requestingclient can execute distribution of tuner-received content specified onthe basis of the channel list URL, through an HTTP connection which isbased on the channel list URL, without setting an AVT instance.

1. A content providing server that executes a content transmissionprocess to a client connected via a local area network, comprising: atuner that receives content over channels; a data transmission/receptionsection that executes a communication process between the server and theclient via the local area network for the content and controlinformation; a storage section having attribute informationcorresponding to the content as content information; a contentmanagement section providing the content information to the client; anda content distribution control section that executes live streaming ofthe content to the client via the local area network, wherein thestorage section stores a first channel list including the channels, andwherein the content distribution control section streams the content,corresponding to the channels, the content being simultaneously streamedover a single connection as a single unit of controlled content, thesingle unit of streamed content being represented by a single URL(Uniform Resource Locator) and being streamed on the basis of a controlrequest corresponding to a second channel list received from the client.2. The content providing server as described in claim 1, wherein: thefirst channel list comprises a plurality of URLs (Uniform ResourceLocators) including the single URL; the second channel list comprisesthe single URL; the storage section is configured to store the URLs asattribute information corresponding to the content; and the contentdistribution control section is configured to stream the content on thebasis of the single URL, according to the control request from theclient.
 3. The content providing server as described in claim 1,wherein: the first channel list comprises a plurality of URLs (UniformResource Locators) including the single URL; the second channel listcomprises the single URL; a connection for streaming of the contentbetween the server and the client is an HTTP (HyperText TransportProtocol) connection set on the basis of the single URL; and the contentdistribution control section streams the content via the HTTP connectionbefore and after channel switching, wherein the channel switchingcomprises switching between the channels described in the second channellist.
 4. The content providing server as described in claim 1, wherein:the content information contains protocol information comprising afunction ID, as tuner identification information, corresponding to thetuner; and the content distribution control section is configured to seta control instance that executes control over the content, by executingcontrol over the tuner based on the function ID.
 5. The contentproviding server as described in claim 1, wherein: the contentdistribution control section sets a control instance to execute controlfor streaming content; and a tuner control instance executes controlover the content by controlling the tuner on the basis of the controlrequest from the client.
 6. The content providing server as described inclaim 1, wherein: the content distribution control section is configuredto: set a control instance to execute control for streaming content; andexecute connection management based on a connection management tablecomprising an instance ID as an identifier of the control instance, aconnection ID as a connection identifier between the server and theclient, and protocol information corresponding to the content.
 7. Thecontent providing server as described in claim 1, wherein: the contentdistribution control section is configured to: set a control instancefor streaming content, wherein the control instance is configured tohave an instance ID set as an identifier; and execute the contentdistribution control according to a control request from the client,wherein the client request designates the control instance ID.
 8. Thecontent providing server as described in claim 1, wherein: the contentdistribution control section is configured to: receive a control requestfrom the client, for streaming the content, wherein the control requestis compliant with a SOAP (Simple Object Access Protocol); and executedistribution control over the content on the basis of the controlrequest.
 9. The content providing server as described in claim 1,wherein: the first channel list is configured to be set as a list formedfrom the channels divided according to categories.
 10. The contentproviding server as described in claim 1, wherein: the contentdistribution control section is configured to: set the single URL as anidentifier for the second channel list; receive an HTTP-GET method as acontent request from another client, the request invoking the URL; andstream, through an HTTP connection, content based on the single URLinvoked by the client.
 11. The content providing server as described inclaim 1, wherein: the first channel list comprises a plurality of URLs(Uniform Resource Locators) including the single URL; the second channellist comprises the single URL; a connection for streaming of the contentbetween the server and the client is an HTTP (HyperText TransferProtocol) connection, wherein the connection is set on the basis of thesingle URL; the content distribution control section is configured to:determine whether or not streaming to the client can be maintained evenwhen there is switching between the channels described in the secondchannel list; and execute breakage of the HTTP connection where it isdetermined that the streaming cannot be maintained; and the contentproviding server is configured to notify breakage information about theHTTP connection, via an event notification connection between the serverand the client.
 12. The content providing server as described in claim1, wherein: the first channel list comprises a plurality of URLs(Uniform Resource Locators) including the single URL; the second channellist comprises the single URL; a connection for streaming of the contentbetween the server and the client is an HTTP (HyperText TransportProtocol) connection set on the basis of the single URL; and the contentdistribution control section is configured to execute switching betweenthe channels described in the second channel list by controlling thetuner at a timing when streaming, of the channels, to the client can bemaintained.
 13. An information processing apparatus that receivescontent from a tuner set in a server via a local area network,comprising: a data transmission/reception section that executes datatransmission/reception process with respect to the server that providescontent via the local area network, wherein the tuner receives thecontent over channels and the server stores a first channel listincluding the channels; and a control section configured to: transmit tothe server, via the local area network, a content transmission requestincluding a second channel list, the second channel list including aplurality of the channels included in the first channel list; andtransmit a distribution control request for the content, wherein theserver designates a control instance that executes control over contentstreaming, wherein the data transmission/reception section receivescontent corresponding to the channels as a single unit of controlledcontent, the single unit of controlled content being streamed over asingle connection as a single unit of streamed content represented by asingle URL (Uniform Resource Locator).
 14. The information processingapparatus as described in claim 13, wherein: the control section isconfigured to: transmit a connection preparation request, to the server,to acquire an ID of the control instance, wherein the ID comprises atuner identification function ID based on protocol information stored inthe server; and transmit the distribution control request for thecontent, wherein the acquired control instance ID is included in thedistribution control request.
 15. The information processing apparatusas described in claim 13, wherein: the first channel list comprises aplurality of URLs (Uniform Resource Locators) including the single URL;the second channel list comprises the single URL; a connection forstreaming of the content between the server and the client is an HTTP(HyperText Transport Protocol) connection set on the basis of the singleURL; and the control section executes content reception before and afterswitching between the plurality of channels described in the secondchannel list by using the HTTP connection.
 16. A content transmissioncontrol method for transmitting content from a tuner, set in a server,to a client via a local area network, wherein the tuner receives thecontent over channels and the server stores a first channel listincluding the channels, comprising: setting a control instance, whereincontent corresponding to channels in a second channel list is set as aunit of content to execute control over streaming of the contentcorresponding to the second channel list; receiving a control request,designating the control instance, from the client via the local areanetwork; controlling the tuner by using the control instance designatedin the control request; and streaming the unit of content based on thecontrol request, wherein the unit of content is streamed over a singleconnection and the streamed unit of content is represented by a singleURL (Uniform Resource Locator).
 17. The content transmission controlmethod as described in claim 16, wherein: the first channel listcomprises a plurality of URLs (Uniform Resource Locators) including thesingle URL; the second channel list comprises the single URL; andsetting the control instance further comprises associating the singleURL with the control instance.
 18. The content transmission controlmethod as described in claim 16, wherein: the first channel listcomprises a plurality or URLs (Uniform Resource Locators) including thesingle URL; the second channel list comprises the single URL; aconnection for streaming of the content between the server and theclient is an HTTP (HyperText Transfer Protocol) connection set on thebasis of the single URL; and setting the control instance furthercomprises content streaming using the HTTP connection, wherein thecontent streaming is executed before and after switching between thechannels described in the second channel list.
 19. The contenttransmission control method as described in claim 16, wherein: thecontent information contains protocol information corresponding to thecontent, the protocol information containing a function ID as tuneridentification information; and setting the control instance furthercomprises controlling the tuner on the basis of the function ID.
 20. Thecontent transmission control method as described in claim 16, wherein:the content transmission control method further comprises executingconnection management based on a connection management table comprisingan instance ID as an identifier of the control instance, a connection IDas a connection identifier between the server and the client, andprotocol information corresponding to the content.
 21. The contenttransmission control method as described in claim 16, wherein: receivingthe control request further comprises receiving a request for streamingcontent compliant with a SOAP (Simple Object Access Protocol).
 22. Thecontent transmission control method as described in claim 16, furthercomprising: setting the single URL as an identifier for the secondchannel list; receiving an HTTP-GET method as a content request fromanother client, the request invoking the single URL; and streaming,through an HTTP connection, content based on the URL invoked by theclient.
 23. The content transmission control method as described inclaim 16, wherein: the first channel list comprises a plurality of URLs(Uniform Resource Locators) including the single URL; the secondchannels list comprises the single URL; a connection for streaming ofthe content is an HTTP (HyperText Transfer Protocol) connection set onthe basis of the single URL; and content transmission control methodfurther comprises: determining whether or not streaming of the content,to the client can be maintained even when there is switching between thechannels described in the second channel list; executing breakage of theHTTP connection where it is determined that the streaming cannot bemaintained; and notifying breakage information about the HTTP connectionvia an event notification connection between the server and the client.24. The content transmission control method as described in claim 16,wherein: the first channel list comprises a plurality of URLs(UniformResource Locators) including the single URL; the second channel listcomprises the single URL; a connection for streaming of the content isan HTTP (HyperText Transfer Protocol) connection set on the basis of thesingle URL; and executing switching between the channels described inthe second channel list by controlling the tuner at a timing whenstreaming of the content, to the client, can be maintained.
 25. Aninformation processing method for receiving content from a tuner set ina server via a local area network, wherein the tuner receives thecontent over channels and the server stores a first channel listincluding the channels, comprising: transmitting a content transmissionrequest including a second channel list, the second channel listincluding a plurality of the channels included in the first channellist; transmitting via the local area network a distribution controlrequest for the content, wherein the server designates a controlinstance that executes control over content distribution; and receivingcontent corresponding to the channels as a single unit of controlledcontent, wherein the single unit of controlled content is streamed overa single connection as a single unit of streamed content represented bya single URL (Uniform Resource Locator).
 26. The information processingmethod as described in claim 25, further comprising: transmitting aconnection preparation request, to the server, to acquire an ID of thecontrol instance, wherein the ID comprises a tuner identificationfunction ID based on protocol information stored in the server; andtransmitting a distribution control request for the content, wherein theacquired control instance ID is included in the distribution controlrequest.
 27. The information processing method as described in claim 25,wherein: the first channel list comprises a plurality of URLs (UniformResource Locators) including the single URL; the second channel listcomprises the single URL; a connection for streaming of the content isan HTTP (HyperText Transfer Protocol) connection set on the basis of thesingle URL; and executing content reception before and after switchingbetween the plurality of channels described in the second channel listby using the HTTP connection.
 28. A computer-readable storage mediumcomprising a computer program which when executed on a processor, causesthe processor to perform a method, the method comprising: transmittingcontent from a tuner, set in a server, to a client via a local areanetwork, wherein the tuner receives the content over channels and theserver stores a first channel list including the channels; setting acontrol instance, wherein content corresponding to channels in a secondchannel list is set as a unit of content to execute control overstreaming of the content corresponding to the second channel list;receiving a control request, designating the control instance, from theclient via the local area network; and controlling the tuner by usingthe control instance designated in the control request, wherein thecontent is transmitted by streaming the unit of content, over a singleconnection, based on the control request, the unit of streamed contentbeing represented by a single URL (Uniform Resource Locator).
 29. Acomputer-readable storage medium comprising a computer program whichwhen executed on a processor, causes the processor to perform a method,the method comprising: receiving content from a tuner set in a server,via a local area network, wherein the tuner receives the content overchannels and the server stores a first channel list including thechannels; transmitting a content transmission request including a secondchannel list, the second channel list including a plurality of thechannels included in the first channel list; and transmitting, via thelocal area network, a distribution control request for the content,wherein a control instance that executes control over content streamingis designated in the server, wherein the content is received when thetuner streams content corresponding to the channels as a single unit ofcontent, the single unit of streamed content being represented by asingle URL (Uniform Resource Locator) and being streamed over a singleconnection.